package com.fsl.springbootdesignpattern.e_observer;

/**
 * @author
 * 观察者模式和发布订阅模式的区别
 * 观察者模式观察者和被观察者之间松耦合
 * 发布订阅模式发布者和订阅者完全无耦合，因为有第三方Broker
 */
public class Test {

    public static void main(String[] args) {

        for(int i=0;i<10;i++){
            // 发生了 i 级地震
            EarthQuakeWarnCenter earthQuakeWarnCenter = new EarthQuakeWarnCenter(i);

            // 新增两个观察者
            earthQuakeWarnCenter.attach(new Student());
            earthQuakeWarnCenter.attach(new Dog());

            // 地震预警
            earthQuakeWarnCenter.warning();
        }
    }
}
